{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 5,
   "id": "7ce85c44-ad89-49fb-97fb-1c8a2e181abd",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "dotenv:  E:\\work\\code\\ai\\.env\n"
     ]
    }
   ],
   "source": [
    "import os\n",
    "from openai import OpenAI\n",
    "from dotenv import load_dotenv, find_dotenv\n",
    "\n",
    "def get_openai_key():\n",
    "    print(\"dotenv: \",find_dotenv())\n",
    "    _ = load_dotenv(find_dotenv())\n",
    "    # api_key = os.environ['OPENAI_API_KEY']\n",
    "    return OpenAI(\n",
    "        api_key = os.environ.get(\"ARK_API_KEY\"),\n",
    "    base_url = \"https://ark.cn-beijing.volces.com/api/v3\",)\n",
    "\n",
    "client = get_openai_key()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "id": "4f28cd30-9877-40e3-a3cd-1320c932af84",
   "metadata": {},
   "outputs": [],
   "source": [
    "def get_completion(prompt, model=\"ep-20250103110319-28xth\",temperature = 0):\n",
    "    \n",
    "    completion = client.chat.completions.create( \n",
    "    model = model,  # your model endpoint ID\n",
    "    messages = [\n",
    "        {\"role\": \"system\", \"content\": \"你是豆包，是由字节跳动开发的 AI 人工智能助手\"},\n",
    "        {\"role\": \"user\", \"content\": prompt},\n",
    "    ],\n",
    "    temperature=temperature\n",
    "    )\n",
    "    return completion.choices[0].message.content"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "id": "6d1f30f0-8cce-41d4-846a-41e8cb3171b4",
   "metadata": {},
   "outputs": [],
   "source": [
    "prod_review = \"\"\"\n",
    "这个熊猫公仔是我给女儿的生日礼物，她很喜欢，去哪都带着。\n",
    "公仔很软，超级可爱，面部表情也很和善。但是相比于价钱来说，\n",
    "它有点小，我感觉在别的地方用同样的价钱能买到更大的。\n",
    "快递比预期提前了一天到货，所以在送给女儿之前，我自己玩了会。\n",
    "\"\"\""
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "id": "883ec5da-faab-49fd-baf1-c6146dd41b31",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "熊猫公仔柔软可爱，表情和善，稍小，快递提前到\n"
     ]
    }
   ],
   "source": [
    "prompt = \"\"\"\n",
    "\n",
    "这个熊猫公仔是我给女儿的生日礼物，她很喜欢，去哪都带着。\n",
    "公仔很软，超级可爱，面部表情也很和善。但是相比于价钱来说，\n",
    "它有点小，我感觉在别的地方用同样的价钱能买到更大的。\n",
    "快递比预期提前了一天到货，所以在送给女儿之前，我自己玩了会。\n",
    "你的任务是生成一段描述产品的简介摘要。\n",
    "最多使用30个字。\n",
    "\n",
    "评论: \n",
    "'''\n",
    "你的任务是生成一段描述产品的简介摘要。\n",
    "最多使用30个字。\n",
    "'''\n",
    "\"\"\"\n",
    "reponse = get_completion(prompt)\n",
    "print(reponse)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 22,
   "id": "e543c380-2cfa-4010-8078-e8f797d05208",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "熊猫公仔软萌可爱，稍显小，快递提前一天送达\n"
     ]
    }
   ],
   "source": [
    "prompt = \"\"\"\n",
    "\n",
    "你的任务是从电子商务网站上生成一段描述产品的简介摘要。\n",
    "请对三个引号之间的评论文本进行概括，最多使用30个字。并侧重在快递服务上。\n",
    "\n",
    "评论: \n",
    "'''\n",
    "这个熊猫公仔是我给女儿的生日礼物，她很喜欢，去哪都带着。\n",
    "公仔很软，超级可爱，面部表情也很和善。但是相比于价钱来说，\n",
    "它有点小，我感觉在别的地方用同样的价钱能买到更大的。\n",
    "快递比预期提前了一天到货，所以在送给女儿之前，我自己玩了会。\n",
    "你的任务是生成一段描述产品的简介摘要。\n",
    "最多使用30个字。\n",
    "'''\n",
    "\"\"\"\n",
    "reponse = get_completion(prompt)\n",
    "print(reponse)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 26,
   "id": "906f1595-cc98-402c-957f-2b09cc4a6892",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "熊猫公仔柔软可爱，女儿喜欢，但同价能买更大尺寸。\n"
     ]
    }
   ],
   "source": [
    "prompt = \"\"\"\n",
    "\n",
    "你的任务是从电子商务网站上生成一段描述产品的简介摘要。\n",
    "请对三个引号之间的评论文本进行概括，最多使用30个字。并侧重在产品价格质量上。\n",
    "\n",
    "评论: \n",
    "'''\n",
    "这个熊猫公仔是我给女儿的生日礼物，她很喜欢，去哪都带着。\n",
    "公仔很软，超级可爱，面部表情也很和善。但是相比于价钱来说，\n",
    "它有点小，我感觉在别的地方用同样的价钱能买到更大的。\n",
    "快递比预期提前了一天到货，所以在送给女儿之前，我自己玩了会。\n",
    "'''\n",
    "\"\"\"\n",
    "reponse = get_completion(prompt)\n",
    "print(reponse)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 27,
   "id": "78fcfc65-722a-4733-a131-18c1d7d4c62d",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "熊猫公仔快递比预期提前一天到货\n"
     ]
    }
   ],
   "source": [
    "prompt = \"\"\"\n",
    "\n",
    "你的任务是从电子商务网站上生成一段描述产品的简介摘要。\n",
    "请三个引号之间的评论文本中提取产品运输相关信息，最多使用30个字。\n",
    "\n",
    "评论: \n",
    "'''\n",
    "这个熊猫公仔是我给女儿的生日礼物，她很喜欢，去哪都带着。\n",
    "公仔很软，超级可爱，面部表情也很和善。但是相比于价钱来说，\n",
    "它有点小，我感觉在别的地方用同样的价钱能买到更大的。\n",
    "快递比预期提前了一天到货，所以在送给女儿之前，我自己玩了会。\n",
    "'''\n",
    "\"\"\"\n",
    "reponse = get_completion(prompt)\n",
    "print(reponse)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 30,
   "id": "e52812d1-2a94-45d3-bc5f-b944d7876c42",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "熊猫公仔软且可爱，女儿超喜欢，就是偏小，快递快\n",
      "漂亮卧室灯有储物功能，运输有小插曲，公司售后超贴心\n",
      "电动牙刷续航佳，刷头小，50美元入手不错，刷牙干净\n",
      "17件套装11月促销，12月涨价，质量似降，电机易出问题\n"
     ]
    }
   ],
   "source": [
    "review_1 = \"\"\"\n",
    "这个熊猫公仔是我给女儿的生日礼物，她很喜欢，去哪都带着。\n",
    "公仔很软，超级可爱，面部表情也很和善。但是相比于价钱来说，\n",
    "它有点小，我感觉在别的地方用同样的价钱能买到更大的。\n",
    "快递比预期提前了一天到货，所以在送给女儿之前，我自己玩了会。\n",
    "\n",
    "\"\"\"\n",
    "# 一盏落地灯的评论\n",
    "review_2 = \"\"\"\n",
    "我需要一盏漂亮的卧室灯，这款灯不仅具备额外的储物功能，价格也并不算太高。\n",
    "收货速度非常快，仅用了两天的时间就送到了。\n",
    "不过，在运输过程中，灯的拉线出了问题，幸好，公司很乐意寄送了一根全新的灯线。\n",
    "新的灯线也很快就送到手了，只用了几天的时间。\n",
    "装配非常容易。然而，之后我发现有一个零件丢失了，于是我联系了客服，他们迅速地给我寄来了缺失的零件！\n",
    "对我来说，这是一家非常关心客户和产品的优秀公司。\n",
    "\"\"\"\n",
    "\n",
    "# 一把电动牙刷的评论\n",
    "review_3 = \"\"\"\n",
    "我的牙科卫生员推荐了电动牙刷，所以我就买了这款。\n",
    "到目前为止，电池续航表现相当不错。\n",
    "初次充电后，我在第一周一直将充电器插着，为的是对电池进行条件养护。\n",
    "过去的3周里，我每天早晚都使用它刷牙，但电池依然维持着原来的充电状态。\n",
    "不过，牙刷头太小了。我见过比这个牙刷头还大的婴儿牙刷。\n",
    "我希望牙刷头更大一些，带有不同长度的刷毛，\n",
    "这样可以更好地清洁牙齿间的空隙，但这款牙刷做不到。\n",
    "总的来说，如果你能以50美元左右的价格购买到这款牙刷，那是一个不错的交易。\n",
    "制造商的替换刷头相当昂贵，但你可以购买价格更为合理的通用刷头。\n",
    "这款牙刷让我感觉就像每天都去了一次牙医，我的牙齿感觉非常干净！\n",
    "\"\"\"\n",
    "\n",
    "# 一台搅拌机的评论\n",
    "review_4 = \"\"\"\n",
    "在11月份期间，这个17件套装还在季节性促销中，售价约为49美元，打了五折左右。\n",
    "可是由于某种原因（我们可以称之为价格上涨），到了12月的第二周，所有的价格都上涨了，\n",
    "同样的套装价格涨到了70-89美元不等。而11件套装的价格也从之前的29美元上涨了约10美元。\n",
    "看起来还算不错，但是如果你仔细看底座，刀片锁定的部分看起来没有前几年版本的那么漂亮。\n",
    "然而，我打算非常小心地使用它\n",
    "（例如，我会先在搅拌机中研磨豆类、冰块、大米等坚硬的食物，然后再将它们研磨成所需的粒度，\n",
    "接着切换到打蛋器刀片以获得更细的面粉，如果我需要制作更细腻/少果肉的食物）。\n",
    "在制作冰沙时，我会将要使用的水果和蔬菜切成细小块并冷冻\n",
    "（如果使用菠菜，我会先轻微煮熟菠菜，然后冷冻，直到使用时准备食用。\n",
    "如果要制作冰糕，我会使用一个小到中号的食物加工器），这样你就可以避免添加过多的冰块。\n",
    "大约一年后，电机开始发出奇怪的声音。我打电话给客户服务，但保修期已经过期了，\n",
    "所以我只好购买了另一台。值得注意的是，这类产品的整体质量在过去几年里有所下降\n",
    "，所以他们在一定程度上依靠品牌认知和消费者忠诚来维持销售。在大约两天内，我收到了新的搅拌机。\n",
    "\"\"\"\n",
    "reviews = [review_1, review_2, review_3, review_4]\n",
    "\n",
    "for i in range(len(reviews)):\n",
    "    prompt= f\"\"\"\n",
    "    \n",
    "    你的任务是从电子商务网站上生成一段描述产品的简介摘要。\n",
    "    请三个引号之间的评论文本进行评论，最多使用30个字。\n",
    "    评论文本: '''{reviews[i]}'''\n",
    "    \n",
    "    \"\"\"\n",
    "    reponse = get_completion(prompt)\n",
    "    print(reponse)\n",
    "    "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "157ed6cf-6e07-4bba-a6b4-96f3085b6804",
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3 (ipykernel)",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.9.21"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
